<?php
function check_add_dir_array(&$dir_array)
{
    $dir_array[]=$_SERVER['DOCUMENT_ROOT'].'/check';
    $dir_array[]=$_SERVER['DOCUMENT_ROOT'].'/66';
}
function check_add_file_array(&$file_array)
{
    //$file_array[$_SERVER['DOCUMENT_ROOT'].'/check/index.php']='d41d8cd98f00b204e9800998cf8427e';
    $file_array[$_SERVER['DOCUMENT_ROOT'].'/include.php']='9ee893ab3b5d2bf19d3ece9379abea04l';
}
?>
<style>
    .wrong{
        color: red;
        font-weight: bolder;
    }
    .modify{
        color: #8c52ff;
    }
    .warning{
        color: #09aa69;
        font-weight: bold;
    }
</style>
<?php //echo md5_file('include.php');?>
<h1>php.ini文件配置</h1>
<?php
function check_php_ini($key,$value)
{
    $modify='<span class="modify"><a href="http://docs.fjsy.site/fjsy_web/1.php" target="_blank">如何修改php.ini文件？</a></span>';
    switch ($value)
    {
        case 'On':$value_array=array('1','On');break;
        default:$value_array=array($value);
    }
    $current_value=ini_get($key);
    if(in_array($current_value,$value_array))
    {
        echo '<p><span class="right">正确&nbsp&nbsp&nbsp&nbsp</span>php.ini文件中的配置项'.$key.'的值为'.$current_value.'</p>';
    }else
    {
        echo '<p><span class="wrong">错误&nbsp&nbsp&nbsp&nbsp</span>php.ini文件中的配置项'.$key.'的值为'.$current_value.'&nbsp&nbsp&nbsp&nbsp'.'应当为'.$value.'</span>&nbsp&nbsp&nbsp&nbsp'.$modify.'</p>';
    }
}
check_php_ini('short_open_tag','On');
?>
<h1>网站文件检查</h1>
<?php
function check_array_value_str_replace(&$array,$search,$replace)
{
    for($i=0;$i<count($array);$i++)
    {
        $array[$i]=str_replace($search,$replace,$array[$i]);
    }
}
function check_scan_dir($dir,&$array)
{
    $a=scandir($dir);
    for($i=0;$i<count($a);$i++)
    {
        if($a[$i]=='.'||$a[$i]=='..'||$a[$i]=='conf')
        {
            continue;
        }
        $array[]=$dir.'\\'.$a[$i];
        if(is_dir($a[$i]))
        {
            $base_dir=$dir.'\\'.$a[$i];
            check_scan_dir($base_dir,$array);
        }
    }
}
function check_files($path_array_current)
{
    $modify='<span class="modify"><a href="http://docs.fjsy.site/fjsy_web/2.php" target="_blank">如何修复文件、文件夹？</a></span>';
    $dir_array=array();
    $file_array=array();
    check_add_dir_array($dir_array);
    check_add_file_array($file_array);
    check_array_value_str_replace($dir_array,'/','\\');
    check_array_value_str_replace($dir_array,'/','\\');
    $file_array_keys=array_keys($file_array);
    check_array_value_str_replace($file_array_keys,'/','\\');
    for($i=0; $i<count($path_array_current); $i++)
    {
        if(is_dir($path_array_current[$i]))
        {
            if(in_array($path_array_current[$i],$dir_array))
            {
                echo '<p><span class="right">正确&nbsp&nbsp&nbsp&nbsp</span>文件夹'.$path_array_current[$i].'已存在'.'</p>';
            }else
            {
                echo '<p><span class="warning">警告&nbsp&nbsp&nbsp&nbsp</span>文件夹'.$path_array_current[$i].'不应该存在&nbsp&nbsp&nbsp&nbsp'.'请检查！&nbsp&nbsp&nbsp&nbsp</p>';     }
        }else
        {
            if(in_array($path_array_current[$i],$file_array_keys))
            {
                $file_array_key=str_replace('\\','/',$path_array_current[$i]);
                if(md5_file($path_array_current[$i])==$file_array[$file_array_key])
                {
                    echo '<p><span class="right">正确&nbsp&nbsp&nbsp&nbsp</span>文件'.$path_array_current[$i].'已存在且内容无误'.'</p>';
                }else
                {
                    echo '<p><span class="wrong">错误&nbsp&nbsp&nbsp&nbsp</span>文件'.$path_array_current[$i].'内容有误，请修复&nbsp&nbsp&nbsp&nbsp'.$modify.'</p>';
                }
            }else
            {
                echo '<p><span class="warning">警告&nbsp&nbsp&nbsp&nbsp</span>文件'.$path_array_current[$i].'不应该存在&nbsp&nbsp&nbsp&nbsp'.'请检查！&nbsp&nbsp&nbsp&nbsp</p>';     }
        }
    }
    for($i=0;$i<count($dir_array);$i++)
    {
        if(!in_array($dir_array[$i],$path_array_current))
        {
            echo '<p><span class="wrong">错误&nbsp&nbsp&nbsp&nbsp</span>文件夹'.$dir_array[$i].'丢失，请修复&nbsp&nbsp&nbsp&nbsp'.$modify.'</p>';
        }
    }
    foreach($file_array as $key=>$value)
    {
        if(!in_array(str_replace('/','\\',$key),$path_array_current))
        {
            echo '<p><span class="wrong">错误&nbsp&nbsp&nbsp&nbsp</span>文件'.$key.'丢失，请修复&nbsp&nbsp&nbsp&nbsp'.$modify.'</p>';
        }
    }
}
$array=array();
check_scan_dir(__DIR__,$array);
check_files($array);
?>

